setupTitleReversingExtension() {
global $wgHooks;
- $wgHooks['ArticleShow'][] = reverseArticleTitle;
- $wgHooks['ArticleDelete'][] = reverseArticleTitle;
- $wgHooks['ArticleExport'][] = reverseForExport;
+ $wgHooks['ArticleShow'][] = 'reverseArticleTitle';
+ $wgHooks['ArticleDelete'][] = 'reverseArticleTitle';
+ $wgHooks['ArticleExport'][] = 'reverseForExport';
}
Having all this code related to the title-reversion option in one
Hooks are registered by adding them to the global $wgHooks array for a
given event. All the following are valid ways to define hooks:
- $wgHooks['EventName'][] = someFunction; # function, no data
- $wgHooks['EventName'][] = array(someFunction, $someData);
- $wgHooks['EventName'][] = array(someFunction); # weird, but OK
+ $wgHooks['EventName'][] = 'someFunction'; # function, no data
+ $wgHooks['EventName'][] = array('someFunction', $someData);
+ $wgHooks['EventName'][] = array('someFunction'); # weird, but OK
$wgHooks['EventName'][] = $object; # object only
$wgHooks['EventName'][] = array($object, 'someMethod');
The extra data is useful if we want to use the same function or object
for different purposes. For example:
- $wgHooks['ArticleSaveComplete'][] = array(ircNotify, 'TimStarling');
- $wgHooks['ArticleSaveComplete'][] = array(ircNotify, 'brion');
+ $wgHooks['ArticleSaveComplete'][] = array('ircNotify', 'TimStarling');
+ $wgHooks['ArticleSaveComplete'][] = array('ircNotify', 'brion');
This code would result in ircNotify being run twice when an article is
saved: once for 'TimStarling', and once for 'brion'.
users to a custom system (LDAP, another PHP program, whatever), you
could do:
- $wgHooks['UserLogin'][] = array(ldapLogin, $ldapServer);
+ $wgHooks['UserLogin'][] = array('ldapLogin', $ldapServer);
function ldapLogin($username, $password) {
# log user into LDAP
-<?
+<?php
/* Syslog.php -- an extension to log events to the system logger
* Copyright 2004 Evan Prodromou <evan@wikitravel.org>
*
openlog($wgSyslogIdentity, LOG_ODELAY | LOG_PID, $wgSyslogFacility);
- $wgHooks['UserLoginComplete'][] = syslogUserLogin;
- $wgHooks['UserLogout'][] = syslogUserLogout;
- $wgHooks['BlockIpComplete'][] = syslogBlockIp;
- $wgHooks['ArticleProtectComplete'][] = syslogArticleProtect;
+ $wgHooks['UserLoginComplete'][] = 'syslogUserLogin';
+ $wgHooks['UserLogout'][] = 'syslogUserLogout';
+ $wgHooks['BlockIpComplete'][] = 'syslogBlockIp';
+ $wgHooks['ArticleProtectComplete'][] = 'syslogArticleProtect';
return true;
}